package top.z.orm.core.osql.dialect;

/**
 * 为特定DB转换成对应的SQL
 */
public interface DbFeature {

    /**
     * 为SQL添加分页部分的语句
     *
     * @param sql   sql语句
     * @param start 开始下标(从 0 或 1 开始, eg: MySQL 是 0, Oracle 是 1)
     * @param size  结果集大小,大于等于1
     * @return 返回增加分页功能的sql
     */
    String toPageSql(String sql, int start, int size);

    /**
     * 为SQL添加分页部分的语句, 默认从第 0 或 1 条记录开始返回
     *
     * @param sql  sql语句
     * @param size 结果集大小,大于等于1
     * @return 返回增加分页功能的sql
     */
    String toPageSql(String sql, int size);
}